EditText這個元件,也是Android studio 一個常用的元件,允許使用者在Edit Text的框中輸入和編輯文字。它繼承自 TextView,因此具有顯示文字的功能,並且還能提供鍵盤輸入功能。這個元件常用於需要使用者輸入資料的地方,例如表單、登入介面或是搜尋框等等的地方。
EditText 大部分的功能屬性,其實與 TextView 十分相似,只有少部分功能稍有不同。然而,它同樣具備許多強大且靈活的屬性來精細控制其外觀和行為。這些屬性使得 EditText 不僅能夠像 TextView 一樣顯示文字,還能進一步提供使用者交互式的文字輸入功能,滿足更複雜的需求場景。
android:hint
提示使用者應輸入的內容,當 EditText 內部沒有文字時會顯示。
內部沒輸入文字時,會是這樣子
android:inputType
控制 EditText 的輸入類型,根據類型決定鍵盤樣式和輸入行態。常見的值有 text(一般文字)、number(數字)、phone(電話號碼)、password(密碼) 等等。
其實它還有很多類型可以選,紅框的部分,看使用者自己如何運用。
簡單的範例
.xml
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="0dp"
android:text=""
android:textSize="20dp"
android:gravity="center" />
<EditText
android:id="@+id/editText_1"
android:layout_width="0dp"
android:layout_height="0dp"
android:ems="10"
android:hint="輸入你的名稱"
android:inputType="textPersonName"
android:textSize="20sp"/>
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="center"
android:text="確認輸入"/>
.java
public class MainActivity extends AppCompatActivity {
private EditText ed;
private TextView tex1;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ed = findViewById(R.id.editText_1);
button = findViewById(R.id.button);
tex1 = findViewById(R.id.textView);
button.setOnClickListener(v -> {
String name = ed.getText().toString();
if (!name.isEmpty()) {
tex1.setText("您好, " + name + "!");
} else {
tex1.setText("請輸入您的名字");
}
});
}
}
在這個地方輸入你想要的名字
成果: